// 响应式断点混合器
@mixin mobile {
  @media (max-width: $breakpoint-mobile) {
    @content;
  }
}

@mixin tablet {
  @media (max-width: $breakpoint-tablet) {
    @content;
  }
}

@mixin desktop {
  @media (min-width: $breakpoint-desktop) {
    @content;
  }
}

// 弹性布局混合器
@mixin flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

@mixin flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

// 按钮样式混合器
@mixin button-base {
  display: inline-block;
  padding: 12px 24px;
  border-radius: 6px;
  text-decoration: none;
  font-weight: 500;
  transition: all $transition-duration $transition-ease;
  cursor: pointer;
  border: none;
}

@mixin button-hover-effect {
  &:hover {
    transform: translateY(-2px);
    box-shadow: $shadow-hover;
  }
}

// 卡片样式混合器
@mixin card {
  background: $white;
  border-radius: $border-radius;
  box-shadow: $shadow;
  transition: transform $transition-duration $transition-ease;
  
  &:hover {
    transform: translateY(-5px);
  }
}

// 文本渐变混合器
@mixin text-gradient($start-color, $end-color) {
  background: linear-gradient(135deg, $start-color 0%, $end-color 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

// 动画混合器
@mixin fadeInUp($duration: 1s, $delay: 0s) {
  animation: fadeInUp $duration ease $delay both;
} 